package exp.day05;

import java.util.Map;
import java.util.TreeMap;

// HH公司（huge-hard）最近计划出品一个字处理软件。软件基本功能已经完成
// 但还缺少一个单词统计的功能，你的任务就是为该公司写一段程序，完成统计功能。
//需要统计的信息有两项：出现单词的个数和单个单词出现的次数。
// 输入 输入为一行字符串，即要统计的文本。
// 输出 输出由若干行组成
// 第一行是一个整数，表示单词的个数，
// 从第二行开始，每行由字符串、冒号、整数组成
// 其中字符串是一个出现在文本中的单词，整数则是该单词在文本中出现的次数。
// 样例输入 to know everything is to know nothing
// 样例输出 7 everything:1 is:1 know:2 nothing:1 to:2
public class Exp05WordCount {
    public static void main(String[] args) {
        String line = "to konw everything is to  konw   nothing ";
        Map<String, Integer> M = new TreeMap<>();
//        System.out.println(line.replaceAll("[^a-zA-Z]"," "));
        String[] words = line.trim().split("\\s+");
//        System.out.println(Arrays.toString(arr));

        //TODO
        for (String e : words) {
            if (M.containsKey(e)) {
                int val = M.get(e);
                M.put(e, val + 1);
            } else {
                M.put(e, 1);
            }
        }
        System.out.println(M);
        System.out.println(words.length);
        for (String word : M.keySet()) {
            System.out.println(word + ":" + M.get(word));
        }
    }
}
